Some systems that connect to the Universal Serial Bus (USB) can include “intelligence” (e.g., DSP, Microprocessor, or ASIC). Systems that contain intelligence can use a USB serial interface engine (SIE) to interface with the USB. The conventional USB SIE is dumb (e.g., a physical layer and a FIFO). The conventional USB SIE acts as a conduit, passing (i) USB requests and data from a host to an outside intelligence and (ii) responses from the outside intelligence to the host.
Referring to FIG. 1, a block diagram of a conventional peripheral device 10 is shown. The device 10 has an input 12 that receives requests from a USB host (not shown), an output 14 that presents responses from the device to the host for recognized requests, and an output 16 that presents a stall signal when the device does not recognize the host request. The peripheral device 10 includes a serial interface engine (SIE) 18 and an external processor 20. The processor 2b can be a digital signal processor (DSP), a microprocessor (μP), an application specific integrated circuit (ASIC), or other type of external processor. The SIE 18 relays all USB requests (e.g., the circles 22) to the processor 20 and all responses (e.g., the circles 24) from the processor 20 to the host.
Since the conventional SIEs act only as a conduit, the external processor 20 must handle all USB overhead traffic, which reduces performance.